//package com.njcky.model;
//
////import com.yutu.map.service.model.GeneralCompareModel;
////import com.yutu.map.service.model.GeoCompareModel;
////import com.yutu.map.service.enums.SqlAndOrEnum;
////import com.yutu.map.service.model.GeneralCompareModel;
////import com.yutu.map.service.model.GeoCompareModel;
//import com.njcky.model.enums.SqlAndOrEnum;
//import io.swagger.annotations.ApiModelProperty;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.util.CollectionUtils;
//
//import java.util.ArrayList;
//import java.util.Iterator;
//import java.util.List;
//
//public class GatherFilterModel {
//    @ApiModelProperty("多条件查询集合,如果只有一组条件，可以不传递outOrAnd属性数据")
//    private List<GeneralCompareModel> generalCompareModels;
//    @ApiModelProperty("多空间条件查询集合")
//    private List<GeoCompareModel> geoCompareModels;
//    @ApiModelProperty("关联关系")
//    private SqlAndOrEnum orAnd;
//
//    public String generateSqlFilter() throws Exception {
//        return this.generateCommonSql();
//    }
//
//    private String generateCommonSql() throws Exception {
//        String resultSqlFilter = "";
//        String generalSqlFilter = "";
//        String geoSqlFilter = "";
//        List<String> generalSqls = new ArrayList();
//        List<String> geoSqls = new ArrayList();
//        Iterator var6;
//        String geoSql;
//        String geoSqlFilterOriginal;
//        int index;
//        if (!CollectionUtils.isEmpty(this.generalCompareModels)) {
//            var6 = this.generalCompareModels.iterator();
//
//            while(var6.hasNext()) {
//                GeneralCompareModel baseConditionObject = (GeneralCompareModel)var6.next();
//                geoSql = baseConditionObject.generateGeneralFilterSQL();
//                if (!StringUtils.isEmpty(geoSql)) {
//                    generalSqls.add(geoSql);
//                }
//            }
//
//            geoSqlFilterOriginal = StringUtils.join(generalSqls, "");
//            if (geoSqlFilterOriginal.length() > 0) {
//                index = geoSqlFilterOriginal.lastIndexOf(")");
//                generalSqlFilter = geoSqlFilterOriginal.substring(0, index + 1);
//            }
//        }
//
//        if (!CollectionUtils.isEmpty(this.geoCompareModels)) {
//            var6 = this.geoCompareModels.iterator();
//
//            while(var6.hasNext()) {
//                GeoCompareModel geoCompareModel = (GeoCompareModel)var6.next();
//                geoSql = geoCompareModel.generateGeoFilterSQL();
//                if (!StringUtils.isEmpty(geoSql)) {
//                    geoSqls.add(geoSql);
//                }
//            }
//
//            geoSqlFilterOriginal = StringUtils.join(geoSqls, "");
//            if (geoSqlFilterOriginal.length() > 0) {
//                index = geoSqlFilterOriginal.lastIndexOf(")");
//                geoSqlFilter = geoSqlFilterOriginal.substring(0, index + 1);
//            }
//        }
//
//        if (StringUtils.isEmpty(generalSqlFilter) && StringUtils.isEmpty(geoSqlFilter)) {
//            return resultSqlFilter;
//        } else if (!StringUtils.isEmpty(generalSqlFilter) && StringUtils.isEmpty(geoSqlFilter)) {
//            return generalSqlFilter;
//        } else if (StringUtils.isEmpty(generalSqlFilter) && !StringUtils.isEmpty(geoSqlFilter)) {
//            return geoSqlFilter;
//        } else {
//            resultSqlFilter = generalSqlFilter + this.orAnd.getSign() + geoSqlFilter;
//            return resultSqlFilter;
//        }
//    }
//}
